import DataCenter from "../GlobalData/DataCenter";
import { GameMode } from "../GlobalData/DataStruct";
import Tips from "../Tools/Tips";

export default class main_scene extends Laya.Script {
   
    constructor() { super(); }
    
    private title_img:Laya.Sprite          //标题节点
    private main_menu:Laya.Sprite          //主菜单节点
    private bottom_menu:Laya.Sprite        //底部菜单节点
    private single_mode:Laya.Sprite        //单人模式节点
    private double_mode:Laya.Sprite        //双人模式节点
    private multi_mode:Laya.Sprite         //团战模式节点
    private tween_duration:number           //Tween动画时长
    private avatar_btn:Laya.Sprite         //左下角头像节点
    private name_text:Laya.Text            //左下角名字文本

    onEnable(): void 
    {
        //初始化变量
        this.initParams()
        //入场界面动画
        this.enterAni()
        //初始化绑定事件
        this.initEvent()
        //设置左下角名字
        this.name_text.text=DataCenter.user_name
    }

    /**初始化绑定事件 */
    initEvent()
    {
        //绑定单人模式事件
        this.single_mode.on(Laya.Event.CLICK,this,this.onSingleMode)
        //绑定双人模式事件
        this.double_mode.on(Laya.Event.CLICK,this,this.onDoubleMode)
        //绑定团战模式事件
        this.multi_mode.on(Laya.Event.CLICK,this,this.onMultiMode)
    }
    /**单人模式事件 */
    onSingleMode()
    {
        //设置全局游戏模式
        DataCenter.game_mode=GameMode.SINGLE
        //跳转场景
        // let tips=new Tips()
        // tips.showTips("Hello main_scene",this.owner);
        // Laya.Scene.open("game_scene.scene")
        
        //调用Tips的全局单例
        Tips.instance.showTips("Hello",this.owner)
    }
    /**双人模式事件 */
    onDoubleMode()
    {
        //设置全局游戏模式
        DataCenter.game_mode=GameMode.DOUBLE
        //跳转场景
        // Laya.Scene.open("game_scene.scene")
        Laya.Scene.open("room_scene.scene")
    }
    /**团战模式事件 */
    onMultiMode()
    {
        //设置全局游戏模式
        DataCenter.game_mode=GameMode.MULTI
        //跳转场景
        Laya.Scene.open("game_scene.scene")
    }

    /**初始化变量 */                                                                                                        
    initParams()
    {
        //获取标题title节点
        this.title_img=this.owner.getChildByName("title_img") as Laya.Sprite
        //获取主菜单main_menu节点
        this.main_menu=this.owner.getChildByName("main_menu") as Laya.Sprite
        //获取底部菜单bottom_menu节点
        this.bottom_menu=this.owner.getChildByName("bottom_menu") as Laya.Sprite
        //获取单人模式single_mode节点
        this.single_mode=this.main_menu.getChildByName("single_mode") as Laya.Sprite
        //获取双人模式double_mode节点
        this.double_mode=this.main_menu.getChildByName("double_mode") as Laya.Sprite
        //获取团战模式multi_mode节点
        this.multi_mode=this.main_menu.getChildByName("multi_mode") as Laya.Sprite
        //初始化Tween动画时长
        this.tween_duration=550
        //获取左下角头像节点
        this.avatar_btn=this.bottom_menu.getChildByName("avatar_btn") as Laya.Sprite
        //获取左下角名字文本
        this.name_text=this.avatar_btn.getChildByName("name_text") as Laya.Text
    }
    /**入场界面动画 */
    enterAni()
    {
        //底部菜单动画：从下往上移入场景
        Laya.Tween.from(
            this.bottom_menu,
            {y:720},
            this.tween_duration,
            Laya.Ease.strongInOut
        )
        //标题动画：从上往下移入场景
        Laya.Tween.from(
            this.title_img,
            {y:-174},
            this.tween_duration,
            Laya.Ease.strongInOut
        )
        //单人模式：从左往右移入场景
        Laya.Tween.from(
            this.single_mode,
            {x:-420},
            this.tween_duration,
            Laya.Ease.strongInOut
        )
        //双人模式：从右往左移入场景
        Laya.Tween.from(
            this.double_mode,
            {x:1290},
            this.tween_duration,
            Laya.Ease.strongInOut
        )
        //团战模式：从右往左移入场景
        Laya.Tween.from(
            this.multi_mode,
            {x:1290},
            this.tween_duration,
            Laya.Ease.strongInOut
        )
    }


    onDisable(): void 
    {

    }
}